package gwt.immunology.client.view;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.Widget;

public class UserViewImpl extends Composite implements UserView {
    private Presenter presenter;
    private static UserViewImplUiBinder uiBinder = GWT.create(UserViewImplUiBinder.class);

    interface UserViewImplUiBinder extends UiBinder<Widget, UserViewImpl> {
    }

    public UserViewImpl() {
        initWidget(uiBinder.createAndBindUi(this));
    }

    @UiField
    Button button;

    public UserViewImpl(String firstName) {
        initWidget(uiBinder.createAndBindUi(this));
        button.setText(firstName);
    }

    @UiHandler("button")
    void onClick(ClickEvent e) {
        Window.alert("Hello!");
    }

    @Override
    public void setPresenter(Presenter presenter) {
        this.presenter = presenter;
    }

}
